﻿using UtfprLibrary.Windows.Forms.ComponentModel;

namespace UtfprLibrary.Windows.Forms {
    /// <summary>
    /// Provides a centralized entry point for handling internal core application settings.
    /// </summary>
    public interface IUtfprApplication : 
        IUtfprFormLoginConfiguration, 
        IUtfprFormSplashConfiguration, 
        IUtfprFormMainConfiguration,
        IUtfprBindingNavigatorConfiguration {

        /// <summary>
        /// Exposes a property to manipulate the default Login form.
        /// </summary>
        UtfprFormLoginBase FormLoginDefault { get; }
        /// <summary>
        /// Exposes a property to manipulate the default Splash form.
        /// </summary>
        UtfprFormSplashBase FormSplashDefault { get; }
        /// <summary>
        /// Exposes a property to manipulate the default Main form.
        /// </summary>
        UtfprFormMainBase FormMainDefault { get; }
        /// <summary>
        /// Exposes a property to manipulate the default Main form.
        /// </summary>
        UtfprBindingNavigatorBaseIcons UtfprBindingNavigatorIconsDefault { get; }
        /// <summary>
        /// Exposes a property to check if the default Login form is enabled.
        /// </summary>
        bool IsLoginEnabled { get; }
        /// <summary>
        /// Exposes a property to check if the default Splash form is enabled.
        /// </summary>
        bool IsSplashEnabled { get; }
    }
}
